iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Software Development

每天一點 Ktor 3.0:一個月學會 Kotlin 後端開發系列 第 2

Day 02:使用 gradle 和 docker 建立 Ktor 3.0 專案

  • 分享至 

  • xImage
  •  

要建立 Ktor 3.0 專案之前,我們要先在開發電腦內安裝好開發用的環境和工具。

IntelliJ IDEA

IntelliJ IDEA logo

這系列文章內,我們使用的 IDE 是 IntelliJ IDEA Community 版本,這個版本是免費的,所以大家可以安心下載。如果你想要有最完整的支援,也可以安裝 IntelliJ IDEA Ultimate 版本。

在下面的網址下載即可:

https://www.jetbrains.com/idea/download/

docker

為了之後部署的方便,這邊建議可以使用 docker 來建置環境,讓整個專案的環境未來能夠和真實環境同步。

如果沒有安裝過 docker 的話,可以透過 https://docs.docker.com/ 上面的教學安裝

安裝時會要求你申請 docker Hub 網站的帳號 這不是什麼奇怪的網站,不用擔心,可以放心的申請。

依照步驟安裝好之後,我們在指令列裡面,確認一下是否安裝成功

$ docker --version

Docker version 28.2.2, build e6534b4eb7

如果能成功地看到安裝的 docker 版本訊息,那麼恭喜你!你已經安裝成功了

接著我們打開 Docker Desktop 運作。運作完成之後,我們可以在指令內確認一下 docker 是否成功在背景運作

docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

sdkman

為了一些本地操作的方便,我們還是要安裝本地的 Java 運行環境,以讓後面操作時比較方便一點

這邊建議使用 sdkman 進行安裝,未來在切換版本時會比較容易。

首先我們安裝 sdkman,參考 https://sdkman.io/ 上面的指令安裝

curl -s "https://get.sdkman.io" | bash

安裝好之後,我們試著看看版本號,以確認我們成功安裝

sdk version

SDKMAN 5.18.2

確認安裝好之後,下一步我們使用 sdkman 來安裝 Java,我使用的環境是 17.0.14-jbr。首先先在本地安裝 17.0.14-jbr

sdk install java 17.0.14-jbr

安裝好之後選用 17.0.14-jbr

sdk use java 17.0.14-jbr

理論上這樣就正確選用了,我們透過 java 指令來確認目前版本

java -version

openjdk version "17.0.14" 2025-01-21
OpenJDK Runtime Environment JBR-17.0.14+1-1367.22-jcef (build 17.0.14+1-b1367.22)
OpenJDK 64-Bit Server VM JBR-17.0.14+1-1367.22-jcef (build 17.0.14+1-b1367.22, mixed mode, sharing)

到這邊,Java 環境就安裝好,版本號也正確了

gradle

為了本地運作專案方便,我們再多安裝 gradle 這個工具,我們先列出所有可安裝的 gradle 版本

sdk list gradle

================================================================================
Available Gradle Versions
================================================================================
     9.1.0-rc-2          7.6.6               6.1.1               3.4.1
     9.1.0-rc-1          7.6.5               6.1                 3.4
     9.0.0               7.6.4               6.0.1               3.3
     9.0.0-rc-4          7.6.3               6.0                 3.2.1
     9.0.0-rc-3          7.6.2               5.6.4               3.2
     9.0.0-rc-2          7.6.1               5.6.3               3.1
     ...

這邊我們安裝 9.0.0,邏輯跟前面安裝 java 一樣

sdk install gradle 9.0.0

安裝之後選用

sdk use gradle 9.0.0

使用之後,我們來檢查一下版本號

gradle -v

Welcome to Gradle 9.0.0!

Here are the highlights of this release:
 - Configuration Cache is the recommended execution mode
 - Gradle requires JVM 17 or higher to run
 - Build scripts use Kotlin 2.2 and Groovy 4.0
 - Improved Kotlin DSL script compilation avoidance

For more details see https://docs.gradle.org/9.0.0/release-notes.html

到這邊我們就確認 gradle 安裝完成了!

start.ktor.io

環境都安裝好之後,我們開始建立新專案。目前建立專案的方式統一使用 https://start.ktor.io/

我們進到網站之後,會看到如下的畫面

Ktor 建立專案畫面

這邊我們可以根據喜好,設定專案的名稱以及勾選想要使用的套件。

為了後面的文章使用,這邊我選了七個套件:

  • Routing
  • Resources
  • Status Pages
  • Static Content
  • Content Negotiation
  • kotlinx.serialization
  • Exposed

選擇好了之後,點選旁邊的「Download」就可以下載專案了。

專案下載好之後,我們解壓縮之後,進到專案內,開始嘗試在本地執行。

由於我們前面已經安裝好 docker 和 gradle,所以我們就可以善用專案內已經建立好的指令,直接在本地使用 docker 運作專案。指令的名稱是 gradle runDocker

gradle runDocker

Starting a Gradle Daemon (subsequent builds will be faster)
...
2025-09-03 13:36:54.753 [DefaultDispatcher-worker-1] INFO  Application - Responding at http://0.0.0.0:8080
<===========--> 87% EXECUTING [1m 20s]

等一段時間,看到 INFO Application - Responding at http://0.0.0.0:8080 這個訊息時,就代表整個專案已經編譯完畢,,並放進對應的 docker 容器內,已經運作完畢了。這時候我們試著連線 http://0.0.0.0:8080 就可以看到 「Hello World!」的字樣。

到這個階段,我們的專案就在本地運作完成了!

比起之前是不是更簡單了一點點呢?

今天的分享就到這邊,我們明天見!


上一篇
Day 01:Ktor 3.0
下一篇
Day 03:StatusPages、staticResources、Serializable
系列文
每天一點 Ktor 3.0:一個月學會 Kotlin 後端開發20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言